import {Sequelize} from "sequelize";
import configData from "../config";

let db = configData.db
const sequelize = new Sequelize(db.database, db.user, db.password, {
    host: db.host,
    dialect: db.dialect,//数据库类型
    logging:true,//操作时候显示原始的sql语句
    port: db.port,
    define: {
        // `timestamps` 字段指定是否将创建 `createdAt` 和 `updatedAt` 字段.
        timestamps: true,
        freezeTableName: false,//冻结表名 否则表名自变成复数
        underscored: true,        // 字段以下划线（_）来分割（默认是驼峰命名风格）
        charset:'utf8mb4'         //创建表设置utf-8  解决不能插入中文问题
    },
    pool: {
        max: 20,// 连接池最大连接数量
        min: 1,// 连接池最小连接数量
        acquire: 60000,
        idle: 10000// 如果一个线程超过10秒钟没有被使用过就释放该线程
    },
    timezone: '+08:00',////设置为北京时间
})
sequelize.authenticate()
    .then(() => {
        console.log('=================================数据库链接成功')
    })
    .catch((reason) => {
        console.error('====================================数据库链接失败')
        throw reason
    })

export default sequelize